Skip to content

Add expiration, deletion, and storage reclamation for provisioned sites#2111

Merged
chubes4 merged 5 commits into
mainfrom
feat/2081-site-lifecycle
Jul 26, 2026
Merged

Add expiration, deletion, and storage reclamation for provisioned sites#2111
chubes4 merged 5 commits into
mainfrom
feat/2081-site-lifecycle

Conversation

@chubes4

@chubes4 chubes4 commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a generation-bound lifecycle for elastic Cloudflare WordPress allocations with owner controls, grace retention, teardown fencing, bounded reclamation, immutable receipts, and terminal quota release.

What changed

  • Adds lifecycle status, renewal, and deletion APIs; fences Worker mutations, operation claims and transitions, publication promotion, imports, and administrator claims; reclaims R2 and D1 work incrementally; records deletion accounting and tombstones.

How to test

  1. Run npm run build; expect TypeScript project build succeeds.
  2. Run npm run test:cloudflare-runtime; expect Cloudflare runtime, lifecycle race, reclamation, and provisioning suites pass.
  3. Run npm run cloudflare:dry-run:d1; expect Wrangler validates the D1 Worker bundle without deployment.

Compatibility

Configured static sites without lifecycle rows retain existing behavior. Existing provisioning authorization, idempotency, and response contracts remain compatible. Anonymous immutable publication reads remain R2-only during grace.

Evidence

AI assistance

Source relationships

chubes4 added 5 commits July 26, 2026 15:11
# Conflicts:
#	packages/runtime-cloudflare/src/d1-operation-repository.ts
#	packages/runtime-cloudflare/src/provisioning-api.ts
#	packages/runtime-cloudflare/src/worker.ts
#	tests/cloudflare-provisioning-api.test.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add expiration, deletion, and storage reclamation for provisioned sites

1 participant